/*
 * Copyright (c) 2020, 2023, 3044483124@qq.com All rights reserved.
 *
 */
package cn.itcast;

import java.io.File;
import java.util.Arrays;

/**
 * <p>Project: JavaStudy - Dir4
 * <p>Powered by jiangbo On 2023-01-03
 * 21:12:01
 * <p>Created by IntelliJ IDEA
 *
 * @author jiangbo [3044483124@qq.com]
 * @version 1.0
 * @since 8/17
 */
public class Dir4 {
    public static void main(String[] args) {
        String file = "C:\\Users\\30444\\Desktop\\截图";
        File f = new File(file);
//List()
//ListFiles();
//FileFilter 接口
//FilenameFilter 接口
//ListFiles(FileFilter)
//ListFiles(FilenameFilter)
// .list() 方法是返回String[] 是目录名 和 文件名的数组集合 如果对象不是目录，则返回null
//String[] ss = f.list();
//System.out.println(ss);
//System.out.println(Arrays.toString(ss));
//.listFiles() 方法是返回File[] 是目录file 和 文件file的File对象数组集合
        File[] fs = f.listFiles();
        System.out.println(Arrays.toString(fs));
//目录遍历时的过滤器 FileFilter FilenameFilter
//传统方法使用接口 MyFileFilter()
        //File[] fs2 = f.listFiles(new MyFileFilter());
        //System.out.println(Arrays.toString(fs2));
//lambda表达式，函数式接口（接口有且只有一个抽象方法）
        File[] fs3 = f.listFiles((fe)->fe.getName().endsWith("png"));
        System.out.println(Arrays.toString(fs3));
        File[] fs4 = f.listFiles((dir,fn)->fn.endsWith("jpg"));
        System.out.println(Arrays.toString(fs4));
    }

}


